namespace java oakclub.thrift.service
namespace php thrift.service

struct User
{
    1: i32 platformId,
    2: string fbToken,
    3: string ipAddress;
}

struct Target
{
    1: string profileId
}

struct Device
{
    1: string deviceName,
    2: string osVersion,
    3: string deviceToken
}

service API
{
    string login(1: User user, 2: Device device),

    string ping(1: User user),
    string setLocale(1: User user, 2: string locale),
    string reportUser(1: User user, 2: Target target, 3: string content),
    string viewMutualMatch(1: User user, 2: Target target),

    # block
    string blockUser(1: User user, 2: Target target),
    string unblockUser(1: User user, 2: Target target),

    # chat
    string addRoster(1: User user, 2: Target target),
    string getChatList(1: User user),
    string sendChatMessage(1: User user, 2: Target target, 3: string message),
    string readChatMessage(1: User user, 2: Target target),
    string getChatHistory(1: User user, 2: Target target),

    # verify
    string verifyUser(1: User user),
    string skipUserVerification(1: User user),
}

service Utility
{
    bool isOnline(1: i64 userId),
}
